

set /P X= (J)a oder (N)ein?
if /I "%X%"=="J" goto :ja
if /I "%X%"=="N" goto :nein



set X=xyz verhindert brigens, dass die Variable aus vorherigen Mens bernommen wird. Einfach vor dem Script platzieren. 

hm ok, nur hat er die variable anscheinend noch nicht registriert nach der user eingabe, weil nix passiert und die variable leer ist.
das mit dem set X=xyz am anfang funktioniert aber.
nur weil er eben das noch nich bernimmt die usereingabe gehts gar nich mehr.

ich erklr vlt mal mein skript genauer.

also, es kommt erst die eingabe aufforderungen.

danach kommt eine if abfrage.

wenn ich dazwischen das X ausgebe sagt er mir nur den ECHO status, also existiert die var noch nich, btw das skript kann noch nicht darauf zugreifen.
ich hab keinen plan warum das so is, kann da nich wer helfen? 

choice:
Die errorlevel-Abfragen mssen aber von gro nach klein, weil DOS ja immer vergleicht mit "grer gleich" und nicht "ist gleich".
Also "if errorlevel 1 goto ..." ist auch erfllt, wenn die errorlevel Rckgabe 2 ist.
Demnach if errorlevel 255 ... bis if errorlevel 0 ...

Ist etwas spt reagiert, aber DOS gibt es noch und diese kleine Ungenauigkeit kann schnell mal bersehen werden, z.B. von mir  


Benutzereingaben mittels "set /P"[Bearbeiten]
@echo off
    set /P w= [i]nstallieren / [d]eInstallieren?
    REM die option /I beim if bewirkt, dass nicht
    REM zwischen Gross und Kleinschreibung
    REM unterschieden wird.
    if /I "%w%"=="i" goto Install
    if /I "%w%"=="d" goto Deinstall
    echo Fehler: [%w%]
goto ende
 
:Install
    echo "installieren" ausgewhlt
goto ende
 
:Deinstall
    echo "deInstallieren" ausgewhlt
goto ende
 
 
:ende
    echo.
    pause
